Я крутой тестировщик!?

Это вопрос или утверждение? Наверное, мы не часто задаем самим себе такой вопрос. Проведя пару месяцев на проекте, мы уверенно говорим себе: "Я крут!". При этом не часто задумываемся, что сфера тестирования весьма разносторонняя. Встретив на своем пути один, пусть даже очень крупный, проект, складывается ощущение, что: "Я всё знаю".

Я не буду рассказывать про виды тестирования, процессы им предшествующие или следующие за ними, про новомодные течения и идеологии, для этого достаточно прочитать массу статей и книг, которые есть в большом количестве в общем доступе. Я бы хотел остановиться на описании абстрактного портрета "хорошего тестировщика", привести ряд характеристик, которыми обязан обладать "хороший тестировщик".

Плохой или хороший...

Каждый участник процесса создания программного обеспечения по своему относится к тестировщикам. Кто-то говорит, что тестировщики мешают; кто-то говорит, что пользы от них никакой и за редким исключением находятся те, кто отзываются положительно о работе тестировщика. Как правило, последние видят в работе тестировщиков необходимую и важную составляющую качественного программного обеспечения. Чаще всего сам заказчик принижает значимость тестирования перед другими участниками, выпуская своим волевым решением в продуктив заведомо плохой релиз. Не важно, что 9 из 10 функций не работает, нам прямо сейчас нужна вот эта 1 (одна), а остальные в кратчайший срок исправите внеплановыми hotfix'ами. Получается, что тестировщик мешает "развитию прогресса". В результате при последующих обнаружениях дефектов, другие участники процесса пытаются понизить уровень критичности дефектов, объясняя острой необходимостью выпуска релиза. К сожалению, в итоге это приводит к тому, что проблемы с программным обеспечением растут как снежный ком. Работу тестировщика я бы сравнил с работой врача. Кто-то может усомниться, но некоторые программы, а особенно от того как они работают или результаты их работы могут спасти кому-то жизнь. Тестировщик как врач ставит диагноз, а заказчик как пациент может принять и начать лечение или продолжить жить. Хотите жить с зубной болью, пожалуйста, но ставить пломбу на больной зуб без удаления корней бессмысленно. Очень часто встречается мнение о том, что нет надобности в тестировщиках. Это как с ИТ-службой в организациях: пока всё работает, у всех складывается ощущение, что ИТ-специалисты не нужны. И никому не приходит в голову, что именно благодаря тому, что ИТ-специалисты работают и не возникают проблемы. При плановой работе дефекты фиксятся в период между релизами и у некоторых возникает тот же вопрос, а зачем нам тестировщики, всё же хорошо, ошибок нет...

Имея большой опыт работы как разработчиком, так и заказчиком, а в последнее время в качестве тестировщика, скажу следующее: без построения качественного тестирования программного продукта любой проект будет обречён на провал. Если это коммерческий продукт, то рано или поздно пользователи перестанут его покупать; если это сервис, то им перестанут пользоваться; если это внутренний продукт, то это может повлиять на работу сотрудников работающих с клиентами, что в свою очередь приведет к убыткам компании.

Кто же такой хороший тестировщик?

Современный рынок труда наводнён различными резюме кандидатов на должности тестировщика/ QA Engineer/ инженера по тестированию/ инженера по качеству и выбор достаточно богатый. Как выбрать профессионала или просто талантливого тестировщика из такого разнообразия, вот главный вопрос. Конечно прочитав резюме, "звёздочку" сразу не разглядеть. И строго судить за плохо написанное резюме не стоит, только если речь не идёт о тест-менеджере/ Team Lead, которому должны быть не чужды практики написания отчетов или других справок. Однако, часть информации о характере кандидата мы можем получить из резюме: грамматические ошибки в обычном тексте; ошибки в терминах или названиях продуктов; несвязанный текст / отредактированный copy&paste - всё это говорит о невнимательности, лени и спешки кандидата, а возможно и незаинтересованности в поиске работы. Ошибки в английских названиях могут свидетельствовать о проблемах с иностранными языками (если это требуется). "Хорошего тестировщика" по резюме определить сложно, скорее по резюме можно сразу отсеять тех, кого даже не стоит приглашать, а вот уровень компетенций и профессионализм кандидата можно понять только через общение, при этом очень важно наблюдать за действиями кандидата.

Итак, кто же он - "хороший тестировщик"? Какой у него темперамент и тип характера? Какими особенными чертами характера и качествами должен обладать?

Самое главное, он должен любить свою работу и то, что он делает. В глазах тестировщика должен быть огонёк, который движет им не ради того, чтобы показать себя, а ради общей цели. Во время собеседования часть кандидатов на вопрос "для чего … ?" отвечали, что они тестируют для того, чтобы сделать пользователям лучше. Работа тестировщика требует усидчивости и спокойствия для выполнения неинтересной и однообразной работы. В процессе тестирования надо запоминать много нюансов и быть внимательным к мелочам, чтобы не пропустить что-то очень важное и еле заметное. Размеренность в действиях и аналитический склад ума помогают в процессе тестирования корректно организовать работу и делать правильные выводы. Тестировщик, по сути своей, типичный флегматик. Не надо думать, что люди с другими темпераментами не могут быть тестировщиками, просто у флегматика это будет получаться намного лучше и эффективнее. Именно такому человеку можно спокойно доверить сложные участки работы и контролировать только по окончанию работ. Тестировщик должен быть немного интровертом, уметь на время закрыться от внешнего мира, чтобы ничто его не отвлекало. Уметь ломать стереотипы, быть организованно непоследовательным, действовать вне правил и даже где-то нарушать общепринятые принципы и подходы – это те навыки, которые помогают быстро и нетривиальным способом находить то, что другие не заметят или даже не подумают сделать. Отличительными качествами тестировщика являются трудолюбие, педантичность, добросовестность, аккуратность и обстоятельность, благодаря которым можно быть точно уверенным, что в этом продукте всё проверено. Отзывчивость и уважение к другим делают тестировщика воистину незаменимым экспертом в программном продукте, который зачастую может выступать в роли аналитика. Умение докопаться до истины позволяют тестировщику быстро систематизировать причины возникновения проблемы, не зацикливаясь на одной, и находить сразу несколько взаимосвязанных ошибок. Доверие других участников процесса к тестировщику приходит через его самокритичность и правдивость. Конечно, без инициативности и настойчивости ни один тестировщик не сможет добиться решения спорных и неоднозначных проблем. Безусловно, опыт тоже играет немаловажную роль. При этом хочется отметить, что опытный тестировщик не только тот, кто участвовал в тестировании нескольких проектов или в одном, но очень сложном, но и тот, кто сам был на стороне разработчика и отлично знает, где чаще всего они обычно допускают "невнимательность".

Если после прочтения перед глазами появился образ человека, который подходит под описание сверху, то это он - тот самый "хороший тестировщик". Берегите его, ибо таких единицы. 😊